package com.hoshino.momochi.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hoshino.momochi.model.domain.Blog;
import com.hoshino.momochi.model.domain.Comment;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface CommentMapper extends BaseMapper<Comment> {

    /**
     * 新增评论
     *
     * @param comment
     */
    void addComment(Comment comment);

    /**
     * 删除评论
     *
     * @param id  评论id
     * @param uid 只获取前端评论id 用户id 通过token获取
     */
    void delCommentByTwoId(Long id, Long uid);


    /**
     * 获取指定用户的所有评论
     *
     * @param uid
     * @return
     */
    List<Comment> getUserComment(Long uid);

    /**
     * 获取一个博客的所有评论，树形结构
     *
     * @param bid
     * @return
     */
    List<Comment> getTreeComment(Long bid);

    /**
     * 评论回复
     *
     * @param comment
     */
    void replyComment(Comment comment);

    /**
     * 获取回复我的评论列表
     *
     * @param uid
     * @return
     */
    List<Comment> getReplyCommentFromMe(Long uid);

    /**
     * 获取 我回复的 博客 的 博客信息
     *
     * @param uid
     * @return
     */
    List<Blog> getMyReplyBlogInfo(Long uid);
    /**
     * 删除 isDelete = 1 的数据
     */
    void delIsDeleteAsTrue();
}
